//
//  ViewController.m
//  04-UIControl
//
//  Created by 韩旭 on 16/7/19.
//  Copyright © 2016年 lanou. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
//  1 . UISwith （开关）
    self.view.backgroundColor = [UIColor brownColor];
//    Swith 宽和高不影响控件的大小, 只有x，y
    UISwitch *swith = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 200, 300)];
    swith.backgroundColor = [UIColor clearColor];
//    开启时的控件内部颜色变了
    swith.onTintColor = [UIColor blackColor];
//    按钮的边框的颜色 及切换时到关闭时的颜色变了(null_resettable)
    swith.tintColor = [UIColor cyanColor];
//    中间按钮的颜色
    //    3. 开关按钮（圆圈）的颜色
    swith.thumbTintColor = [UIColor blueColor];
//    iOS七后无效果
    swith.onImage = [UIImage imageNamed:@"20151116102246252"];
//    关闭时的图片效果 iOS七后消失
    swith.offImage = [UIImage imageNamed:@"21c91a385343fbf221fa73aeb07eca8067388ffb"];
//    判断swithControl的开闭状态
//    NO 为关闭状态
//    通过setter改变swithControl的初始值变化
//    swith.on = YES; 
    [self.view addSubview:swith];
    NSLog(@"%@", swith.isOn ? @"YES" : @"NO");
    [swith setOn:YES animated:YES];
//    7. 添加绑定事件(与button相同)
    [swith addTarget:self action:@selector(swith:) forControlEvents:UIControlEventValueChanged];
    
//    2. slder
//    slider 高度不影响控件的高度， 这个控件用于居中于视图中间
    UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(10, 200, 200, 50)];
    
//   1.  slider
//    当前滑块的值
    slider.value = 0;
//    2. 滑块最小值
    slider.minimumValue = 0;
//    滑块最大值
    slider.maximumValue = 1;
//    以上最大和最可以根据需求去改变
//    4 minmumValueImage最小那边显示的图片
//    5 maximumValueImage最大那边显示的图片
    //    6
//    7.绑定事件
    [slider addTarget:self action:@selector(slider:) forControlEvents:UIControlEventValueChanged];
    
//    8.maximumTrackTintColor 未移动到的区域颜色
//     minimumTrackTintColor 已经移动到的区域颜色
//    slider.maximumTrackTintColor = [UIColor cyanColor];
//    slider.minimumTrackTintColor = [UIColor blueColor];
//    滑动最小值
    slider.minimumValue = 0;
//    滑动最大值
    slider.maximumValue = 1;
//    按钮添加方法
   [slider addTarget:self action:@selector(slider:) forControlEvents:UIControlEventValueChanged];
//    按钮的中心点位置
    slider.center = CGPointMake(self.view.frame.size.width / 2, self.view.frame.size.height * 0.3);
//    9 .thumbTintColor 滑块的颜色
//    slider.thumbTintColor = [UIColor orangeColor];
//    slider.tintColor = [UIColor blackColor];
//    slider.backgroundColor = [UIColor redColor];
//    10设置进度条滑块右边的图片
    [slider setMaximumTrackImage:[UIImage imageNamed:@"player_slider_playback_right"] forState:UIControlStateNormal];
//    左
    [slider setMinimumTrackImage:[UIImage imageNamed:@"player_slider_playback_left"] forState:UIControlStateNormal];
//    13 设置滑块颜色
    [slider setThumbImage:[UIImage imageNamed:@"player_slider_playback_thumb"] forState:UIControlStateNormal];
    [self.view addSubview:slider];
//        slider.continuous = NO;
    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 110)];
    btn.backgroundColor = [UIColor purpleColor];
    [btn addTarget:self action:@selector(segment:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn];
//    3. UISegmentedControl
    UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:@[@"first", @"secont", @"lastttttttt"]];
    segment.frame = CGRectMake(0, 10, 220, 20);
//    segment 不给frame, 系统会自动计算大小（推荐：加上frame）
    segment.center = CGPointMake(self.view.frame.size.width / 2, 30);
//   1.Momentary
//    如果选中设置为YES, 如果点击选中没有选中的效果 默认为NO
    segment.momentary = YES;
//    2numberOfSegments
//    显示有多少个段
    NSInteger numofsegment = segment.numberOfSegments;
    NSLog(@"%ld", numofsegment);
//    NSLog(@"%@", NSStringFromCGRect(segment.frame));
    segment.backgroundColor = [UIColor redColor];
    segment.tag = 1000;
    //   添加方法
    //    insertSegmentWithTitle
    //   移除方法
    //    removeAllSegments
    //    5.setTitle:forSegmentAtIndex:用来修改对应标题
    //    设置0自己计算
    [segment setWidth:70 forSegmentAtIndex:0];
    //    6.setWidth:forSegmentAtIndex width：默认是0.0
    [segment setTitle:@"啊蔚" forSegmentAtIndex:0];
    
    //    7. 设置对应下表内容的偏移
    [segment setContentOffset:CGSizeMake(0, 0) forSegmentAtIndex:0];
    //    8. enable 是否能被选中
    [segment setEnabled:YES forSegmentAtIndex:0];
//       9. selectedSegmentIndex 选中的下标
    segment.selectedSegmentIndex = 1;
//    10. titnColor文字及边框颜色
    [segment addTarget:self action:@selector(segmentControl:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:segment];
//    11. apportionsSegmentWidthsByContent 默认为no
//    如果分段控制器的段宽为0时, 并且该属性为YES, 系统会自动计算
    segment.apportionsSegmentWidthsByContent = YES;
    
    UIPageControl *pageControl = [[UIPageControl alloc] init];
    pageControl.frame = CGRectMake(120, 440, 300, 40);
    pageControl.center = CGPointMake(self.view.frame.size.width / 2, self.view.frame.size.height * 0.45);
//    设置背景色
    //    1. 分页控制器的页数 默认是0
    pageControl.numberOfPages = 5;
//    2. 当前页
        pageControl.currentPage = 0;
    pageControl.backgroundColor = [UIColor purpleColor];
//    3 .当页数为1是隐藏
    pageControl.hidesForSinglePage = YES;
//    4. 获取到点的大小
    pageControl.currentPageIndicatorTintColor = [UIColor greenColor];
    CGSize size = [pageControl sizeForNumberOfPages:0];
    NSLog(@"%@", NSStringFromCGSize(size));
//    5.未选中页的默认的颜色
    pageControl.pageIndicatorTintColor = [UIColor orangeColor];
//    6. 选中也当前的颜色
    pageControl.currentPageIndicatorTintColor = [UIColor redColor];
//    7. 绑定事件
    [pageControl addTarget:self action:@selector(pageControl:) forControlEvents:UIControlEventValueChanged];
    if (pageControl.currentPage == 5) {
        pageControl.currentPageIndicatorTintColor = [UIColor purpleColor];
    }
    [self.view addSubview:pageControl];

//    8. 设置为yes关闭系统事件page的切换， 直到去调用updateCurrentPageDisplay 方法时才会显示
    pageControl.defersCurrentPageDisplay = NO;
    
}


- (void)segment:(UIButton *)btn {
    UISegmentedControl *seg = [self.view viewWithTag:1000];
    [seg insertSegmentWithTitle:@"张合蔚" atIndex:0 animated:YES];
}
- (void)slider:(UISlider *)slider {
    NSLog(@"%f", slider.value);
}
//swith触发的事件
- (void)swith:(UISwitch *)swith {
//    根据swith的状态, 决定触发生什么样的事件
    if (swith.on == YES) {
        NSLog(@"开");
    } else {
        NSLog(@"关");
    }
}
//segment绑定事件
- (void)segmentControl:(UISegmentedControl *)segment {
    switch (segment.selectedSegmentIndex) {
        case 1:
            break;
            case 2:
            break;
            case 3:
            break;
        default:
            break;
    }
    NSLog(@"%ld", segment.selectedSegmentIndex);
}
- (void)pageControl:(UIPageControl *)pageControl {
    if (pageControl.currentPage == 4) {
        pageControl.currentPage = 0;
//        好方法！！
        [pageControl updateCurrentPageDisplay];
    }
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
